import z from 'zod'
import { request } from '..'

// 教师自己通过邀请码加入班级
const joinClassByInviteCodeRequestSchema = z.object({
  invitationCode: z.string(),
})

export function joinClassByInviteCode(data: z.infer<typeof joinClassByInviteCodeRequestSchema>) {
  return request({
    method: 'POST',
    url: '/teacher/join',
    data,
    dataValidator: joinClassByInviteCodeRequestSchema,
  })
}

// 学生/教师自己主动退出班级（在自己的账号）
const leaveClassRequestSchema = z.object({
  account: z.string(), // 手机号或邮箱，传哪个算哪个
  classId: z.string(),
  name: z.string(),
  role: z.number(), // 0表示教师，1表示学生
  type: z.number(), // 0表示手机号，1表示邮箱，不传默认手机号
})
export function leaveClass(data: z.infer<typeof leaveClassRequestSchema>) {
  return request({
    method: 'POST',
    url: '/class/exit',
    data,
    dataValidator: leaveClassRequestSchema,
  })
}
